GtkAccelLabel: Convert to g_object_class_install_properties
authorMatthias Clasen <mclasen@redhat.com>
Sat, 7 Jun 2014 10:45:00 +0000 (06:45 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 9 Jun 2014 17:30:51 +0000 (13:30 -0400)
gtk/gtkaccellabel.c

index ec4d17ab14c17ec1d2c6b286e9c8fa5128c9d146..7cf1ec60ebde1e3da9149a1be939fbb575692b46 100644 (file)
@@ -94,7 +94,8 @@
 enum {
   PROP_0,
   PROP_ACCEL_CLOSURE,
-  PROP_ACCEL_WIDGET
+  PROP_ACCEL_WIDGET,
+  LAST_PROP
 };
 
 struct _GtkAccelLabelPrivate
@@ -110,6 +111,8 @@ struct _GtkAccelLabelPrivate
   GdkModifierType accel_mods;
 };
 
+GParamSpec *props[LAST_PROP] = { NULL, };
+
 static void         gtk_accel_label_set_property (GObject            *object,
                                                  guint               prop_id,
                                                  const GValue       *value,
@@ -183,20 +186,21 @@ gtk_accel_label_class_init (GtkAccelLabelClass *class)
 
 #endif /* GDK_WINDOWING_QUARTZ */
 
-  g_object_class_install_property (gobject_class,
-                                   PROP_ACCEL_CLOSURE,
-                                   g_param_spec_boxed ("accel-closure",
-                                                      P_("Accelerator Closure"),
-                                                      P_("The closure to be monitored for accelerator changes"),
-                                                      G_TYPE_CLOSURE,
-                                                      GTK_PARAM_READWRITE));
-  g_object_class_install_property (gobject_class,
-                                   PROP_ACCEL_WIDGET,
-                                   g_param_spec_object ("accel-widget",
-                                                        P_("Accelerator Widget"),
-                                                        P_("The widget to be monitored for accelerator changes"),
-                                                        GTK_TYPE_WIDGET,
-                                                        GTK_PARAM_READWRITE));
+  props[PROP_ACCEL_CLOSURE] =
+    g_param_spec_boxed ("accel-closure",
+                        P_("Accelerator Closure"),
+                        P_("The closure to be monitored for accelerator changes"),
+                        G_TYPE_CLOSURE,
+                        GTK_PARAM_READWRITE);
+
+  props[PROP_ACCEL_WIDGET] =
+    g_param_spec_object ("accel-widget",
+                         P_("Accelerator Widget"),
+                         P_("The widget to be monitored for accelerator changes"),
+                         GTK_TYPE_WIDGET,
+                         GTK_PARAM_READWRITE);
+
+  g_object_class_install_properties (gobject_class, LAST_PROP, props);
 }
 
 static void
@@ -485,7 +489,7 @@ accel_widget_weak_ref_cb (GtkAccelLabel *accel_label,
                                         refetch_widget_accel_closure,
                                         accel_label);
   accel_label->priv->accel_widget = NULL;
-  g_object_notify (G_OBJECT (accel_label), "accel-widget");
+  g_object_notify_by_pspec (G_OBJECT (accel_label), props[PROP_ACCEL_WIDGET]);
 }
 
 /**
@@ -524,7 +528,7 @@ gtk_accel_label_set_accel_widget (GtkAccelLabel *accel_label,
                                    accel_label, G_CONNECT_SWAPPED);
           refetch_widget_accel_closure (accel_label);
         }
-      g_object_notify (G_OBJECT (accel_label), "accel-widget");
+      g_object_notify_by_pspec (G_OBJECT (accel_label), props[PROP_ACCEL_WIDGET]);
     }
 }
 
@@ -587,7 +591,7 @@ gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label,
                                   accel_label, 0);
        }
       gtk_accel_label_reset (accel_label);
-      g_object_notify (G_OBJECT (accel_label), "accel-closure");
+      g_object_notify_by_pspec (G_OBJECT (accel_label), props[PROP_ACCEL_CLOSURE]);
     }
 }